/**
 * 封装全局方法
 */
/**
 * 时间转化
 * @param {string|Date} str - 时间字符串或者Date对象
 * @returns {object} - 返回时间对象
 * @returns {string} {object}.Y - 年
 * @returns {string} {object}.M - 月
 * @returns {string} {object}.D - 日
 * @returns {string} {object}.h - 时
 * @returns {string} {object}.m - 分
 * @returns {string} {object}.s - 秒
 * @returns {string} {object}.date - 年-月-日
 * @returns {string} {object}.time - 时:分:秒
 * @returns {string} {object}.datetime - 年-月-日 时:分:秒
 */
const FormatTime = str => {
  const O = new Date(str); // 初始化时间对象
  /**
   * 数值加零
   * @param {number} num - 数值
   * @returns {string} - 加零之后的字符串
   */
  const doubleDigit = num => (num < 10 ? "0" : "") + num;
  const [Y, M, D, h, m, s] = [O.getFullYear(), doubleDigit(O.getMonth() + 1), doubleDigit(O.getDate()), doubleDigit(O.getHours()), doubleDigit(O.getMinutes()), doubleDigit(O.getSeconds())];
  const date = `${Y}-${M}-${D}`;
  const time = `${h}:${m}:${s}`;
  const datetime = `${date} ${time}`;
  return {
    Y,
    M,
    D,
    h,
    m,
    s,
    date,
    time,
    datetime
  };
};

export {
  FormatTime // 时间转化
};

export default {
  FormatTime // 时间转化
};
